1. Field of the Invention
The present invention relates generally to the art of integrated circuits and more particularly to a mechanism and technique for managing the die temperature of an operating integrated circuit.
2. Description of the Relevant Art
Integrated circuits operate in varying modes in response to instructions on which they operate. Each operating mode can be distinguished by an amount of power consumed by the integrated circuit. Some modes of operation consume more power than other modes. For example, in a CPU based integrated circuit, the power consumed by the integrated circuit operating in accordance with a multiply command may be greater than the power consumed by the integrated circuit operating in accordance with a shift command.
As an integrated circuit consumes power, the integrated circuit generates a corresponding amount of heat. Since integrated circuits operate in varying modes which consume different levels of power, it follows that the amount of heat generated likewise varies. Thus, one mode of operation generates more heat than another mode of operation.
Power consumption and the resulting heat generation have long been a concern for integrated circuit designers. Heat generated by the integrated circuit must be sufficiently dissipated to prevent the die temperature of the integrated circuit from reaching critical levels. Integrated circuits, like most systems, are sensitive to heat. If the operating temperature of the integrated circuit exceeds a critical level, the integrated circuit may fail. Accordingly, it is important to at least monitor the operating temperature of an integrated circuit and, if necessary, limit that temperature.
Operating integrated circuits can be cooled using a variety of devices. For example, an integrated circuit may be encased in a package which can dissipate, to a varying degree, heat generated by the circuit. The integrated circuit may be cooled by a heat sink attachable to the package. A proximately placed fan can also cool the circuit by directing a stream of air across the surface of the packaged integrated circuit.
According to one conventional method of limiting operating temperature, the aforementioned cooling devices are designed to have just enough capacity to dissipate the maximum amount of heat theoretically capable of being generated by the integrated circuit. This method requires a design engineer to model the integrated circuit and predict which of its various modes of operation will produce the most heat. If the critical mode which generates the maximum amount of heat can be identified, the designer may be able to provide a cooling system, i.e. fans and heat sinks, with just enough capacity to preclude overheating. However, problems may obviously arise when the cooling system, designed for a perceived worst case scenario, does not have the capacity to dissipate heat during an unanticipated high level of integrated circuit. However, it is more likely that design engineers seeking to restrain the cost of cooling systems will select cooling systems without capaity to dissipate unexpected levels of heat generation. In view of this, designers will implement expensive cooling systems with a capacity to dissipate heat far beyond what is anticipated.
The aforementioned method works reasonably well with, for example, simple scalar microprocessor architectures. In critical modes, simple scalar microprocessor architectures can generate up to ten watts of energy. Even though these types of integrated circuits will rarely, if ever, be operated in a critical mode, design engineers sometimes employ expensive cooling devices capable of dissipating huge amounts of heat to insure that simple scalar microprocessors never reach critical temperatures.
Superscalar microprocessor architectures, in contrast to simple scalar devices, are designed to provide as many parallel execution paths as possible in order to execute as many instructions in parallel as possible. In certain operational modes, superscalar microprocessors can generate as much as fifty watts of energy. Typically, these processors are very unlikely to be subjected to a lengthy operational mode in which the entire integrated circuit is constantly active, and thus generating significant amounts of heat. Nonetheless, designers attempt to provide expensive cooling systems which may be capable of maintaining the operating temperature of superscalar microprocessors below critical values. If the designer anticipates that he will be incapable of providing a cooling system with enough capacity to dissipate the high levels of heat generation, the designer may have to resort to other measures, such as universally limiting the top speed of the microprocessor. Clearly, this option degrades performance because the microprocessor is precluded from operating at peak speeds even when its operating temperature is well below critical values.
Another conventional solution to integrated circuit overheating is to proximately place a temperature sensing device near the integrated circuit which constantly measures the integrated circuit temperature. The temperature sensing device outputs a temperature value which can be compared against a predefined limit. When the operating temperature of the integrated circuit exceeds the predefined limit, a command is forwarded to the integrated circuit to reduce its activity level by reducing, for example, the frequency at which instructions are executed or by slowing the system clock. Reducing activity levels results in lower integrated circuit heat generation. In this manner, the integrated circuit can be protected from overheating and the failures associated therewith. Problems however exist with this method of managing integrated circuit heat generation. In particular, temperature sensing devices are expensive to manufacture and prone to failure. In the event the temperature sensor fails, the integrated circuit may experience a prolonged level of activity in which heat is generated under intense circumstances thereby causing the integrated circuit to exceed its critical temperature value and fail.
It would be desirable to produce a mechanism for modeling heat generated from an integrated circuit while allowing the circuit to operate at its highest operational level. The mechanism must be one which, if necessary, can maintain the circuit speed as high as possible yet below a level which would cause temperature-related problems.